package com.example.user.service.impl;

import com.example.bean.User;
import com.example.user.mapper.UserMapper;
import com.example.user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * @Author 刘武贵
 * @Date 2024/2/27 23:45
 * @Description 功能描述：用户业务实现类
 */
@Service
@Slf4j
public class UserServiceImpl implements UserService {

    /**
     * 用户Mapper
     */
    @Resource
    private UserMapper userMapper;

    /**
     * 根据用户ID获取用户信息
     * @param userId 用户ID
     * @return 用户信息
     */
    @Override
    public User getUserById(Long userId) {
        return userMapper.selectById(userId);
    }

    /**
     * 异步执行方法
     * 该方法使用@Async注解标记，表示其是一个异步任务，会在新的线程中异步执行
     * 方法没有参数和返回值
     */
    @Async
    @Override
    public void asyncMethod() {
        log.info("执行了异步任务...");
    }

}
